The Opioid Epidemic
Introduction
The Opioid Crisis is truly that - a crisis. Over the past 20 years, opioids have become a commonly used recreational drug. As people use these drugs, they become addicted. Opioid abuse often starts with a legitimate prescription as a treatment for pain. However, the addictive nature of the drug can cause people to seek out more opioids after their prescription is over. In small doses, opioids are effective painkillers that may make you feel drowsy. In large doses (abuse), opioids can result in slowed breathing and a slowed heart-rate. These effects can cause death - otherwise known as an overdose.
The amount of opioids prescribed began growing a lot in 2006 and peaked in 2012 with 255 million doses prescribed. Since 2012, overall doses prescribed has diminished to 168 million in 2018; however, that is still a huge number of opioid doses. Unfortunately, overdoses have also been on the rise and - unlike prescriptions - are continuing to rise (as can be seen in the figure below).
Image from the CDC - https://www.cdc.gov/nchs/data/databriefs/db356-h.pdf
The mechanism by which legitimate prescriptions may lead someone down the path to opioid abuse and potentially overdosing is one of addiction. When someone is legally prescribed opioids (potentially an excessive number of doses) they are subject to developing an addiction. If they do, then they may go searching for more opioids after their prescription runs out. The most common replacements are drugs like heroin and fentanyl. Heroin and fentanyl, which is over 100 times the strength of morphine - a notoriously powerful painkiller, are very strong opioids that can very easily lead to overdose even after just one use. It is also worth noting that even prescription opioids cause deaths, not just the super strong types.
For this project, we wanted to explore the relationship between opioid prescription rate and overdose rate and figure out which (if there are any) states that are disproportionately affected.
Data
Prescription Rate Data
The data we used to determine the prescription rate for each state comes from the CDC’s website. It includes data for each state - and summary data for the entire US - for overall opioid prescription doses and opioid prescription rate (per 100 persons) for the years 2006 - 2018. Although the data contained 12 years worth of prescribing information, we only used 2014 - 2018 because of the availability of matching overdose data.
Overdose Rate Data (Chris)
Where data is from explain what it is
Analysis
Prescription Rate vs. Overdose Rate (Chris)
- Show maps
- Ask Questions about whether one causes the other, etc.
Regression
A very simple statistical analysis of whether or not two variables are correlated is to run a bivariate, linear regression that predicts how a 1 unit increase in the prescription rate of a state affects the overdose rate in that state. After running the model, we found that there is a statistically significant relationship between the two variables (p-value < .05). The actual linear relationship suggests that a 1 unit increase in the prescription rate will result in a .10475 unit increase in the overdose rate. Although this model is not perfect (we have almost certainly left out contributing variables that leads to some bias), the statistically significant, positive relationship between the prescription rate and the overdose rate at least show that the overdose rate is likely to go up with a greater prescription rate.
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.56323 2.96818 2.548 0.01409 *
## prescription_rate 0.10475 0.03524 2.972 0.00461 **
##
## Residual standard error: 5.298 on 48 degrees of freedom
## Multiple R-squared: 0.1554, Adjusted R-squared: 0.1379
## F-statistic: 8.835 on 1 and 48 DF, p-value: 0.004609
Clustering (Sean)
Text explaining why k-means
Determining the Optimal K
Explain silhouette score
silhouette_score <- function(k){
km <- kmeans(full_data[, 2:3], centers = k, nstart = 20)
score <- cluster::silhouette(km$cluster, dist(full_data[, 2:3]))
mean(score[, 3])
}
k <- 2:5
avg_sil <- sapply(k, silhouette_score)
optimal_k <- which(as.data.frame(avg_sil)$avg_sil == max(avg_sil)) + 1
optimal_k
## [1] 2
km <- kmeans(full_data[, 2:3], centers = optimal_k, nstart = 20)
full_data <- mutate(full_data, cluster = as.character(km$cluster))
Clustering for 2014
text about the clustering